typedef struct list {
	int 	length;
	int 	size;
	void 	**elem;
} *list;

list list_create(int size);
void list_add(list l, void *data);
void *list_remove(list l, void *data);
void list_destroy(list l);
int list_length(list l);
